package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.his.domain.vo.PreVo;
import com.ruoyi.his.domain.vo.VisitQuery;
import com.ruoyi.system.domain.HisHospitalNation;
import com.ruoyi.system.domain.vo.HisHospitalNationVo;

/**
 * 国家机构Service接口
 * 
 * @author Alan
 * @date 2024-03-07
 */
public interface IHisHospitalNationService
{
    /**
     * 查询国家机构
     * 
     * @param uniqueCode 国家机构主键
     * @return 国家机构
     */
    public HisHospitalNation selectHisHospitalNationByUniqueCode(Integer uniqueCode);

    /**
     * 查询国家机构列表
     * 
     * @param hisHospitalNation 国家机构
     * @return 国家机构集合
     */
    public List<HisHospitalNation> selectHisHospitalNationList(HisHospitalNation hisHospitalNation);

    /**
     * 新增国家机构
     * 
     * @param hisHospitalNation 国家机构
     * @return 结果
     */
    public int insertHisHospitalNation(HisHospitalNation hisHospitalNation);

    /**
     * 修改国家机构
     * 
     * @param hisHospitalNation 国家机构
     * @return 结果
     */
    public int updateHisHospitalNation(HisHospitalNation hisHospitalNation);

    /**
     * 批量删除国家机构
     * 
     * @param uniqueCodes 需要删除的国家机构主键集合
     * @return 结果
     */
    public int deleteHisHospitalNationByUniqueCodes(Integer[] uniqueCodes);

    /**
     * 删除国家机构信息
     * 
     * @param uniqueCode 国家机构主键
     * @return 结果
     */
    public int deleteHisHospitalNationByUniqueCode(Integer uniqueCode);

    Map getlist(List<String> hospitalIds, List<String> signatures);

    List<HisHospitalNationVo> selectHisHospitalNationLists(HisHospitalNation hisHospitalNation);

    JSONObject selectListVisit(VisitQuery visitQuery, Integer pageNum, Integer pageSize);

    JSONObject selectListPre(VisitQuery visitQuery, Integer pageNum, Integer pageSize);

    PreVo selectPre(String visitQuery);

    HisHospitalNation getinfo(String registerNumber);
}
